package com.nenude.corejava.ch13;

public class ThreadJoin extends Thread {
	private int count;

	@Override
	public void run() {
		while (count++<=10) {

			try {
				Thread.sleep(1000);
				
				// InterruptedException 线程中断异常
			} catch (InterruptedException e) {
				e.printStackTrace();
			}			
			
			System.out.println(getId() + ": " + count);
		}
		System.out.println("子线程结束");
	}

	
	
	public static void main(String[] args) {

		ThreadJoin threadJoin = new ThreadJoin();
		threadJoin.start();
		try {

			// jion:子线程与主线程进行合并，
			// 无参数时，先把子线程执行完，在执行主线程
			 //threadJoin.join();

			// 有参数时，先执行子线程一段时间，再执行主线程
			threadJoin.join(2000);

		} catch (InterruptedException e) {
			e.printStackTrace();
		}

		
	/*	try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		//interrupt:可以中断一个在sleep睡眠状态的线程，用于中断sleep方法执行
		threadJoin.interrupt();*/
		
		System.out.println("主线程结束");
	}
}
